/**
 * @(#)ReportUserSubDaily.java.java	1.0  16-06-2014 
 *
 * Copyright 2014 Viettel Telecome. All rights reserved.
 * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.viettel.core.entities.report;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 *  BAO CAO USER SUB HANG NGAY
 *  @author: toantm1
 *  @since: 16-06-2014 - 09:25:55
 */
@Entity
@Table(name = "REPORT_USER_SUB_DAILY")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@SequenceGenerator(name = "SEQ_STORE", sequenceName = "REPORT_USER_SUB_DAILY_SEQ", allocationSize = 1)
public class ReportUserSubDaily implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -7251326877442823374L;

	/** The id. */
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STORE")
	@Column(name = "ID", precision=10, scale=0)
	private Long id;
	
	/**
	 * Ngay bao cao
	 */
	@Basic
	@Column(name = "REPORT_DATE", columnDefinition = "timestamp(6) default systimestamp", insertable = true, updatable = true)
	@Temporal(TemporalType.TIMESTAMP)
	private Date reportDate;
	
	/**
	 * luot dang ky thanh cong
	 */
	@Basic
	@Column(name = "NEW_USER", precision = 22, scale = 0)
	private Long newUser;
	
	/**
	 * luot huy thanh cong
	 */
	@Basic
	@Column(name = "OUT_USER", precision = 22, scale = 0)
	private Long outUser;
	
	
	/**
	 * luot huy thanh cong ly do khac
	 */
	@Basic
	@Column(name = "OUT_USER_OTHER", precision = 22, scale = 0)
	private Long outUserOther;
	
	
	/**
	 * thue bao luy ke
	 */
	@Basic
	@Column(name = "TOTAL_USER", precision = 22, scale = 0)
	private Long totalUser;
	
	/**
	 * them nhom dich vu
	 */
	@Basic
	@Column(name = "GROUP_ID", precision = 10, scale = 0)
	private Long groupId;
	
	@Basic
	@Column(name = "GROUP_NAME", length=50)
	private String groupName;
	
	/**
	 * Cu phap
	 */
	@Basic
	@Column(name = "SERVICE_CODE", length=50)
	private String serviceCode;
	
	@Basic
	@Column(name = "SERVICE_NUMBER", length=20)
	private String serviceNumber;
	
	/**
	 * ID cua dich vu
	 */
	@Basic
	@Column(name = "SERVICE_ID", precision = 10, scale = 0)
	private Long serviceId;
	
	/**
	 * Ten dich vu
	 */
	@Basic
	@Column(name = "SERVICE_NAME", length=50)
	private String serviceName;
	
	/**
	 * So thue bao charge ok
	 */
	@Basic
	@Column(name = "CHARGE_OK", precision = 22, scale = 0)
	private Long chargeOk;
	
	/**
	 * So thue bao charge ok
	 */
	@Basic
	@Column(name = "CHARGE_NOK_1", precision = 22, scale = 0)
	private Long chargeNok1;
	
	/**
	 * Tong so charge fail vi ly do khac
	 */
	@Basic
	@Column(name = "CHARGE_NOK_2", precision = 22, scale = 0)
	private Long chargeNok2;

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @return the reportDate
	 */
	public Date getReportDate() {
		return reportDate;
	}

	/**
	 * @return the newUser
	 */
	public Long getNewUser() {
		return newUser;
	}

	/**
	 * @return the outUser
	 */
	public Long getOutUser() {
		return outUser;
	}

	/**
	 * @return the totalUser
	 */
	public Long getTotalUser() {
		return totalUser;
	}

	/**
	 * @return the groupId
	 */
	public Long getGroupId() {
		return groupId;
	}

	/**
	 * @return the groupName
	 */
	public String getGroupName() {
		return groupName;
	}

	/**
	 * @return the serviceCode
	 */
	public String getServiceCode() {
		return serviceCode;
	}

	/**
	 * @return the serviceNumber
	 */
	public String getServiceNumber() {
		return serviceNumber;
	}

	/**
	 * @return the serviceId
	 */
	public Long getServiceId() {
		return serviceId;
	}

	/**
	 * @return the serviceName
	 */
	public String getServiceName() {
		return serviceName;
	}

	/**
	 * @return the chargeOk
	 */
	public Long getChargeOk() {
		return chargeOk;
	}

	/**
	 * @return the chargeNok1
	 */
	public Long getChargeNok1() {
		return chargeNok1;
	}

	/**
	 * @return the chargeNok2
	 */
	public Long getChargeNok2() {
		return chargeNok2;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @param reportDate the reportDate to set
	 */
	public void setReportDate(Date reportDate) {
		this.reportDate = reportDate;
	}

	/**
	 * @param newUser the newUser to set
	 */
	public void setNewUser(Long newUser) {
		this.newUser = newUser;
	}

	/**
	 * @param outUser the outUser to set
	 */
	public void setOutUser(Long outUser) {
		this.outUser = outUser;
	}

	/**
	 * @param totalUser the totalUser to set
	 */
	public void setTotalUser(Long totalUser) {
		this.totalUser = totalUser;
	}

	/**
	 * @param groupId the groupId to set
	 */
	public void setGroupId(Long groupId) {
		this.groupId = groupId;
	}

	/**
	 * @param groupName the groupName to set
	 */
	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}

	/**
	 * @param serviceCode the serviceCode to set
	 */
	public void setServiceCode(String serviceCode) {
		this.serviceCode = serviceCode;
	}

	/**
	 * @param serviceNumber the serviceNumber to set
	 */
	public void setServiceNumber(String serviceNumber) {
		this.serviceNumber = serviceNumber;
	}

	/**
	 * @param serviceId the serviceId to set
	 */
	public void setServiceId(Long serviceId) {
		this.serviceId = serviceId;
	}

	/**
	 * @param serviceName the serviceName to set
	 */
	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}

	/**
	 * @param chargeOk the chargeOk to set
	 */
	public void setChargeOk(Long chargeOk) {
		this.chargeOk = chargeOk;
	}

	/**
	 * @param chargeNok1 the chargeNok1 to set
	 */
	public void setChargeNok1(Long chargeNok1) {
		this.chargeNok1 = chargeNok1;
	}

	/**
	 * @param chargeNok2 the chargeNok2 to set
	 */
	public void setChargeNok2(Long chargeNok2) {
		this.chargeNok2 = chargeNok2;
	}

	/**
	 * @return the outUserOther
	 */
	public Long getOutUserOther() {
		return outUserOther;
	}

	/**
	 * @param outUserOther the outUserOther to set
	 */
	public void setOutUserOther(Long outUserOther) {
		this.outUserOther = outUserOther;
	}
	
}
